طراحی و پیاده سازی چارچوب mapreduce تعاونی مبتنی بر کلاستر با استفاده از پردازنده کارت گرافیک
پایان نامه
- وزارت علوم، تحقیقات و فناوری - دانشگاه شیراز - دانشکده مهندسی برق و کامپیوتر
- نویسنده امین عباسی قلاتی
- استاد راهنما فرشاد خون جوش علی حمزه
- تعداد صفحات: ۱۵ صفحه ی اول
- سال انتشار 1390
چکیده
ایجاد مدل های برنامه نویسی جدید برای فراهم کردن تجرید سطح بالا از مهمترین روش های به کار گرفته شده برای کاهش نیاز برنامه نویس به تسلط بر جزییات دقیق معماری و ساده سازی برنامه نویسی موازی می باشند. همانطور که پیشتر گفته شد، از پرکاربردترین مدل های معرفی شده برای برنامه نویسی موازی می توان به مدل mapreduce اشاره کرد. کلیدی ترین فایده این مدل این است که به برنامه نویس اجازه می دهد تا فقط و فقط بر هسته محاسباتی مورد نیاز خود تمرکز کند و مسوولیت مدیریت اجرای موازی برنامه و تمام چالش های برنامه نویسی موازی از جمله تفکیک و توزیع متعادل داده ورودی و تحمل پذیری خطا بر عهده سیستم زمان اجرا گذاشته شده است. این مدل اولین بار، برای برنامه نویسی بر روی سیستم های کلاستری ارایه شد و پر کاربرد ترین پیاده سازی این مدل را بدون شک می توان چارچوب منبع باز apache hadoop [apache, hadoop][zaharian, 2008]دانست. برنامه نویس با استفاده از کتابخانه موجود در hadoop می تواند برنامه هایی منطبق با مدل mapreduce را بنویسد و سیستم زمان اجرای hadoop برنامه را به طور موازی بر روی سیستم های کامپیوتری موجود در کلاستر اجرا می کند. پیاده سازی این مدل برای معماری پردازنده کارت گرافیک [he, 2008] [mokhtari, 2011]و نیز پردازنده های چند هسته ای [ranger, 2007][yoo, 2009] نیز انجام شده است. یکی دیگر از گرایش های مهم در جامعه برنامه نویسی موازی، استفاده از پردازنده های موازی fine-grained به عنوان شتاب دهنده در هر یک از گره های یک کلاستر برای افزایش سرعت محاسباتی نهایی آن بوده است. انواع مختلفی از شتاب دهنده ها وجود دارند که از جمله آنها می توان به کارت های گرافیکی، fpga ها، پردازنده های کمکی simd، و مدارات مجتمع خاص منظوره اشاره کرد. با توجه به اینکه mapreduce برای بسیاری از این محیط ها نیز پیاده سازی شده است، مطلوب است با پیوند انواع چارچوب های موجود mapreduce برای عناصر پردازشی مختلف موجود در یک کلاستر به یکدیگر، یک محیط یکپارچه برای اجرای یک برنامه mapreduce بر روی پردازنده های غیر همگن موجود در یک کلاستر ایجاد کرد. در این صورت با داشتن یک تعریف از یک برنامه ی mapreduce برنامه نویس می تواند از تمامی پردازنده های موجود در کلاستر برای پردازش mapreduce مورد نظر خود استفاده کند. در عمل، تفاوت های معماری بین پردازنده های اصلی و پردازنده های شتاب دهنده، موانع متعددی را بر سر راه اجرای یکپارچه یک برنامه mapreduce ایجاد می کند. اولا، تفاوت هایی بین زبان های برنامه نویسی مورد استفاده برای پردازنده اصلی و شتاب دهنده در هر پیاده سازی وجود دارد. به عنوان مثال، hadoop از جاوا استفاده می کند در حالی که بیشتر پردازنده های شتاب دهنده، از زبان هایی شبیه c مانند [cuda, def] و [opencl, def] استفاده می کنند. متاسفانه، ترجمه برنامه نوشته شده از یک زبان به زبان دیگر نمی تواند به طور کامل به شکل خودکار انجام شود زیرا پیاده سازی های مختلف غالبا باید برای انطباق هر چه بیشتر با مشخصات معماری هر پردازنده، به شکل دستی تنظیم شوند تا آن برنامه کارایی زمان اجرای مناسبی را داشته باشد. علاوه بر این، زمان بندی پردازنده در کلاستر های غیر همگن به مراتب چالش بر انگیز تر از زمانبندی در کلاستر های همگن است. اولا، با توجه به تفاوت های معماری بین پردازنده اصلی و شتاب دهنده ها، هر اندازه بهینه داده ورودی یک وظیفه برای یک نوع پردازنده با نوع دیگر متفاوت است. ثانیا، بعضی از برنامه ها بر روی شتاب دهنده ها بسیار خوب اجرا می شوند، در حالی که برخی دیگر بر روی پردازنده های اصلی سریع تر اجرا می شوند. در نهایت، تاخیر قابل توجه ای برای ارتباط بین پردازنده اصلی و شتاب دهنده (که اغلب از طریق اتصال pci-e بر قرار می شود) وجود دارد، که خود چالش های دیگری برای فراهم کردن داده ورودی برای شتاب دهنده ها در پردازش ناهمگن ایجاد می کند. بنابراین، استفاده ساده اوجانه از شتاب دهنده ها در کلاستر هایhadoop غالبا منجر به میزان بسیار اندکی از به کار گیری منابع پردازشی و در نتیجه، اتلاف بیشینه قدرت پردازشی شتاب دهنده ها می شود و گاها کاهش سرعت محاسباتی نسبت به زمانی که از پردازنده های شتاب دهنده استفاده نمی شود، می گردد. علی رغم گسترش بسیار چشم گیر استفاده از مدل برنامه نویسی mapreduce و به طور خاص پیاده سازی منبع باز آن یعنی hadoop، در پردازش کلاستری، این سیستم ضعف هایی در استفاده بهینه از منابع از جمله پردازنده اصلی، پردازش نا همگن با استفاده از پردازنده های کمکی، به کار گیری بهینه تجهیزات ذخیره سازی داده با پاسخ گویی بالا و مطمئن و نیز مصرف بهینه انرژی دارد. هدف نهایی از اجرای این پروژه، پیاده سازی یک چارچوب برنامه نویسی mapreduce برای سیستم ها کلاستری نا همگن می باشد. تشخیص خودکار و دقیق بهترین ترکیب پردازشی از میان پردازنده های نا همگن موجود در کلاستر و نیز بیشترین استفاده ممکن از پتانسیل پردازشگر های منتخب برای پردازش یک برنامه mapreduce از مهمترین اهداف اجرای این پروژه می باشد. همانگونه که اشاره شد، hadoop امروزه توسط بزرگترین شرکت های کامپیوتری دنیا برای پردازش داده ها و استخراج اطلاعات مورد استفاده قرار گرفته است [hadoop, who]. کارایی چنین سیستمی (hadoop) در هزینه های کلان شرکت های استفاده کننده از آن، بسیار تاثیر گذار است. هر چه عملکرد سیستم به حالت بهینه نزدیک تر باشد، بهره وری بیشتر خواهد بود. به طور دقیق تر، با افزایش سرعت انجام عملیات در چنین سیستم هایی سرعت پاسخگویی و نیز میزان رضایت کاربران افزایش خواهد یافت که این به نوبه خود باعث افزایش تعداد کاربران سیستم خواهد شد. از طرف دیگر، شرکت ها می توانند با کاهش پردازنده های خود به حدی که عملکرد سیستم جدید به حد عملکرد سیستم قبلی باشد، هزینه های خود را کاهش دهند. به طور مثال اگر قبلا برای انجام کاری با استفاده از hadoop در یک مدت زمان معین به تعدادی پردازنده نیاز بوده است، بعد از بهینه سازی مثلا دو برابر عملکرد برنامه، برای اینکه همان کار در همان زمان قبلی انجام شود تعداد پردازنده هایی به اندازه نیمی از آنچه قبل از بهینه سازی لازم بود، نیاز خواهد بود. به این ترتیب در هزینه نگهداری سیستم ها، توان مصرفی و ... به شکل قابل قبولی صرفه جویی می شود. بدیهی است که هر چه میزان بهینه سازی سیستم بیشتر باشد، مزایای بیشتری عاید استفاده کنندگان سیستم خواهد شد. همانگونه که در بخش های آتی نشان داده می شود، hadoop در استفاده بهینه از منابع از جمله پردازنده اصلی، عدم پشتیبانی مناسب از پردازش نا همگن با استفاده از پردازنده های کمکی و به کار گیری بهینه تجهیزات ذخیره سازی داده با پاسخ گویی بالا مشکلاتی دارد. هدف نهایی از اجرای این پروژه، پیاده سازی یک چارچوب برنامه نویسی mapreduce برای سیستم های کلاستری نا همگن می باشد. این سیستم باید بتواند به طور خودکار بهترین ترکیب پردازشی از میان پردازنده های نا همگن موجود در کلاستر را تشخیص داده و تا حد ممکن از پتانسیل پردازشگر های منتخب برای پردازش یک برنامه mapreduce استفاده کند.
منابع مشابه
مقایسه تأثیر وضعیت طاق باز و دمر بر وضعیت تنفسی نوزادان نارس مبتلا به سندرم دیسترس تنفسی حاد تحت درمان با پروتکل Insure
کچ ی هد پ ی ش مز ی هن ه و فد : ساسا د مردنس رد نامرد ي سفنت سرتس ي ظنت نادازون داح ي سکا لدابت م ي و نژ د ي سکا ي د هدوب نبرک تسا طسوت هک کبس اـه ي ناـمرد ي فلتخم ي هلمجزا لکتورپ INSURE ماجنا م ي دوش ا اذل . ي هعلاطم ن فدهاب اقم ي هس عضو ي ت اه ي ندب ي عضو رب رمد و زاب قاط ي سفنت ت ي هـب لاتـبم سراـن نادازون ردنس د م ي سفنت سرتس ي لکتورپ اب نامرد تحت داح INSURE ماجنا درگ ...
متن کاملپیاده سازی پردازش موازی روی کارت گرافیک برای شبیه سازی جریان سیال با روش شبکه بولتزمن و نمایه هموار
بررسی بر هم کنش میان ذرات جامد و سیال به عنوان مقدمه ای بر شبیه سازی بسیاری از مسائل مهندسی مانند بسترهای سیالی، ته نشینی ذرات و جوهر کاتالیست در سلول های سوختی مورد بررسی قرار گرفته است. یکی از روش های مناسب برای انجام این گونه شبیه سازی ها، ترکیب دو روش شبکه بولتزمن و نمایه هموار می باشد که دارای یک الگوریتم مناسب برای اجرا شدن به صورت موازی می باشند. روش نمایه هموار همانند روش شبکه بولتزمن ا...
متن کاملطراحی و پیاده سازی پردازنده کارت آنالوگ ، در سیستم جمع آوری داده نیروگاه با استفاده از fpga
در این پایان نامه، به نحوه طراحی و پیاده سازی یک پردازنده با کاربرد خاص (asuc) می پردازیم که بر روی بر آنالوگ ، در سیستم جمع آوری داده نیروگاه، بکار گرفته می شود. از دید کلی این پردازنده متشکل از دو بخش است : یکی بخش کنترل کننده eeprom که زمانبدی لازم جهت ارتباط با eeprom را فراهم می کند و دیگری بخش اصلی پردازنده که علاوه بر آدرس دهی کانالها و تنظیم گین و افست مناسب برای هر یک از آنها، عمل مقای...
15 صفحه اولچارچوب پیاده سازی بازاریابی اینترنتی با استفاده از رویکرد تفسیری در صنعت نوشیدنی
بازاریابی اینترنتی تمرکز کلیه فعالیت ها در جهت انطباق و توسعه راهبردهای بازاریابی در فضای مجازی شامل وب سایت، شبکه های اجتماعی و سایر منابع آنلاین میباشد. بازاریابی اینترنتی شامل اجزای بازاریابی مستقیم و غیر مستقیم و بکارگیری سایر فناوریها جهت ارتباط کسب و کار با مشتریان میشود. پیادهسازی موفق برنامههای بازاریابی مزایای متعددی برای سازمان به همراه دارد. بازاریابی اینترنتی می تواند یک راه اثر...
متن کاملارائه چارچوب جامع پیاده سازی بازاریابی اینترنتی با استفاده از روش فراترکیب
فناوری اطلاعات بزرگترین نوآوری عصر جدید محسوب میشود، زیرا تأثیرهای اجتماعی، اقتصادی و علمی اثربخشی داشته است. بازاریابی اینترنتی جنبههای فنی و خلاقانة اینترنت مانند طراحی، توسعه، تبلیغات و فروش را درهم میآمیزد. این پژوهش با هدف ارائة چارچوبی جامع برای پیادهسازی بازاریابی اینترنتی انجام گرفت. با استفاده از روش فراترکیب، بیش از 450 مقاله در حوزة بازاریابی اینترنتی ارزیابی شد که با استفاده از...
متن کاملطراحی و پیاده سازی یک سیستم کنترل نیمهفعال سازهیی با استفاده از میراگر مغناطیسی جدید
در نوشتار حاضر، یک سیستم نیمهفعال سازهیی با استفاده از یک میراگر مغناطیسی جدید طراحی، ساخته و بر روی یک قاب برشی دو درجه آزادی آزمایشگاهی پیادهسازی شده است. در ابتدا بر پایهی نتایج آزمون، پارامترهای مدل میراگر براساس مدل بوک ـ ون شناسایی شدند. در ادامه، کنترلکنندههای قلاب آسمانی و تناسبی ـ مشتقگیر ـ انتگرالگیر طراحی و بر روی سازه پیادهسازی و عملکرد آنها برای یک زلزلهی نمونه با استفاد...
متن کاملمنابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ذخیره در منابع من قبلا به منابع من ذحیره شده{@ msg_add @}
نوع سند: پایان نامه
وزارت علوم، تحقیقات و فناوری - دانشگاه شیراز - دانشکده مهندسی برق و کامپیوتر
کلمات کلیدی
میزبانی شده توسط پلتفرم ابری doprax.com
copyright © 2015-2023